package com.itheima.core.web.controller;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.itheima.core.po.User;
import com.itheima.core.service.UserService;

/**
 *	@author zangye03
 *	date 2021年7月11日上午11:38:31
 *	Description	 
 *	用户控制器类
 */
@Controller
public class UserController {

	/**
	 * 依赖注入
	 */
	@Autowired
	private UserService userService;
	
	/**
	 * 用户登录
	 * @param userCode
	 * @param passWord
	 * @param model
	 * @param session
	 * @return
	 */
	@RequestMapping(value = "/login.action", method = RequestMethod.POST)
	public String login(String userCode,String passWord,
			Model model,HttpSession session) {
		//	通过账号和密码查询用户
		User user = userService.findUser(userCode, passWord);
		if(user != null) {
			//	将用户对象添加到Session
			session.setAttribute("USER_SESSION", user);
			//	跳转到主页面
			return "redirect:customer/list.action";
		}
		model.addAttribute("msg","账号或密码错误,请重新输入!");
		//	返回到登录页面
		return "login";
	}
	
	/**
	 * 模拟其他类中跳转到客户管理页面
	 * @return
	 */
	@RequestMapping(value = "/toCustomer.action")
	public String toCustomer() {
		return "customer";
	}
	
	/**
	 * 退出登录
	 * @param session
	 * @return
	 */
	@RequestMapping(value = "/logout.action")
	public String logout(HttpSession session) {
		// 清除Session
		session.invalidate();
		// 重定向到登录页面的跳转方法
		return "redirect:login.action";
	}
	
	/**
	 * 向用户登录页面跳转
	 * @return
	 */
	@RequestMapping(value = "/login.action", method = RequestMethod.GET)
	public String toLogin() {
		return "login";
	}
}
